package com.jhws.business.comm.bo;

import com.jhws.common.base.bo.BaseBo;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.*;

@Table(name = "tbl_comm_dim")
@Entity
@DynamicInsert(false)
@DynamicUpdate(false)
public class TblCommDimBo extends BaseBo {

    /**
     * 序列化
     */
    private static final long serialVersionUID = -5894516165893569175L;

    public static final String RESI_GRPID = "3402223969890";
    @Id
    @Column(name = "comm_code")
    private String commCode;

    @Column(name = "comm_name")
    private String commName;

    @Column(name = "comm_adds")
    private String commAdds;

    @Column(name = "comm_state")
    private String commState;

    @Column(name = "comm_password")
    private String commPassword;

    @Column(name = "comm_pro")
    private String commPro;

    @Column(name = "comm_city_Id")
    private String cityId;

    @Column(name = "comm_city")
    private String city;

    /* IC卡厂家型号 */
    @Column(name = "card_vendor", columnDefinition = "INT default 0")
    private Integer cardVendor;

    /* 小区创建时间 */
    @Column(name = "create_time", columnDefinition = "varchar(30) default ''")
    private String createTime;

    /* 围墙机设备数量 */
    @Column(name = "gate_dev_number")
    private Integer gateDevNum;

    /* 管理机设备数量 */
    @Column(name = "manage_dev_number")
    private Integer manageDevNum;

    /* SDK客户ID */
    @Column(name = "custom_id")
    private String customId;

    /* 支付客户ID */
    @Column(name = "pay_property_cust_id", columnDefinition = "BIGINT(20) default 0")
    private Long payPropertyCustId;

    /*
        pstn服务器所在小区
        可以通过这个变量来判断当前小区是否支持pstn转呼，同时多个小区可以绑定在同一个小区的pstn服务器上
    */
    private String pstnComm;

    /* 为了应对一些无法兼容的功能升级, 在梯口机版本比较老的小区,app通过这个版本号来使用老接口 */
    @Column(name = "commSoftVersion", columnDefinition = "INTEGER UNSIGNED default 0")
    private Integer commSoftVersion;

    /* 围墙机的别名 */
    @Column(columnDefinition = "varchar(255) default ''")
    private String gateDevAliasName;

    /* 小区权限字段,人脸识别使能,是否允许该小区的梯口机开启人脸功能 */
    @Column(name = "permission_face", columnDefinition = "INTEGER UNSIGNED default 0")
    private Integer permissionFace;

    /* 小区开启的人脸识别lisence数量 */
    @Column(name = "face_dev_count", columnDefinition = "INTEGER UNSIGNED default 0")
    private Integer faceDevCount;

    /* 是否允许上传刷卡照片 */
    @Column(name = "permission_card_photo", columnDefinition = "INTEGER UNSIGNED default 0")
    private Integer permissionCardPhoto;

    /* 家属授权是否需要审核 */
    @Column(name = "permission_family_auth", columnDefinition = "INTEGER UNSIGNED default 0")
    private Integer permissionFamilyAuth;

    public Integer getGateDevNum() {
        return gateDevNum;
    }

    public void setGateDevNum(Integer gateDevNum) {
        this.gateDevNum = gateDevNum;
    }

    public Integer getManageDevNum() {
        return manageDevNum;
    }

    public void setManageDevNum(Integer manageDevNum) {
        this.manageDevNum = manageDevNum;
    }

    public String getCommPassword() {
        return commPassword;
    }

    public void setCommPassword(String commPassword) {
        this.commPassword = commPassword;
    }

    public String getCommState() {
        return commState;
    }

    public void setCommState(String commState) {
        this.commState = commState;
    }

    public String getPstnComm() {
        return pstnComm;
    }

    public void setPstnComm(String pstnComm) {
        this.pstnComm = pstnComm;
    }

    /**
     * @return the commCode
     */
    public String getCommCode() {
        return commCode;
    }

    /**
     * @param commCode the commCode to set
     */
    public void setCommCode(String commCode) {
        this.commCode = commCode;
    }

    /**
     * @return the commName
     */
    public String getCommName() {
        return commName;
    }

    /**
     * @param commName the commName to set
     */
    public void setCommName(String commName) {
        this.commName = commName;
    }

    /**
     * @return the commAdds
     */
    public String getCommAdds() {
        return commAdds;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    /**
     * @param commAdds the commAdds to set
     */
    public void setCommAdds(String commAdds) {
        this.commAdds = commAdds;
    }

    public String getCityId() {
        return cityId;
    }

    public void setCityId(String cityId) {
        this.cityId = cityId;
    }

    /**
     * @return the commPro
     */
    public String getCommPro() {
        return commPro;
    }

    /**
     * @param commPro the commPro to set
     */
    public void setCommPro(String commPro) {
        this.commPro = commPro;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCustomId() {
        return customId;
    }

    public void setCustomId(String customId) {
        this.customId = customId;
    }

    public Integer getCommSoftVersion() {
        return commSoftVersion;
    }

    public void setCommSoftVersion(Integer commSoftVersion) {
        this.commSoftVersion = commSoftVersion;
    }

    public String getGateDevAliasName() {
        return gateDevAliasName;
    }

    public void setGateDevAliasName(String gateDevAliasName) {
        this.gateDevAliasName = gateDevAliasName;
    }

    public Integer getPermissionFace() {
        return permissionFace;
    }

    public void setPermissionFace(Integer permissionFace) {
        this.permissionFace = permissionFace;
    }

    public Long getPayPropertyCustId() {
        return payPropertyCustId;
    }

    public void setPayPropertyCustId(Long payPropertyCustId) {
        this.payPropertyCustId = payPropertyCustId;
    }

    public Integer getPermissionCardPhoto() {
        return permissionCardPhoto;
    }

    public void setPermissionCardPhoto(Integer permissionCardPhoto) {
        this.permissionCardPhoto = permissionCardPhoto;
    }

    public Integer getFaceDevCount() {
        return faceDevCount;
    }

    public Integer getCardVendor() {
        return cardVendor;
    }

    public void setCardVendor(Integer cardVendor) {
        this.cardVendor = cardVendor;
    }

    public void setFaceDevCount(Integer faceDevCount) {
        this.faceDevCount = faceDevCount;
    }

    public Integer getPermissionFamilyAuth() {
        return permissionFamilyAuth;
    }

    public void setPermissionFamilyAuth(Integer permissionFamilyAuth) {
        this.permissionFamilyAuth = permissionFamilyAuth;
    }
}
